﻿using System;
using System.Linq.Expressions;

namespace NiuX.Dapper.Repositories;

public interface IDbQuerableContextModel<T> : IDbQuerableContextModel
{

    public Expression<Func<T, bool>> WhereExpression { get; set; }

}

public interface IDbQuerableContextModel
{

    public string ConnectionString { get; set; }

    public string TableName { get; set; }

    public Type EntityType { get; }


    public Expression SelectExpression { get; set; }


    public string[] OrderByFields { get; set; }


    public bool IsDescending { get; set; }


    public string[] SelectedFields { get; set; }

    public int? Skip { get; set; }


    public int CompanyId { get; set; }

    public DatabaseType DatabaseType { get; set; }

    public int TakeCount { get; set; }

}